// pages/match-result/match-result.js
import { matchApi } from '../../services/api';

Page({

  /**
   * 页面的初始数据
   */
  data: {
    matchInfo: null,
    currentPhotoIndex: 0,
    isLiked: false,
    showContact: false,
    cardAnimation: null
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 从页面参数中获取数据
    const matchInfo = JSON.parse(decodeURIComponent(options.matchInfo));
    console.log('接收到的匹配信息：', matchInfo);
    
    this.setData({ matchInfo });
    // 检查是否已收藏
    this.checkLikeStatus();
    this.initAnimation();
  },

  initAnimation() {
    const animation = wx.createAnimation({
      duration: 400,
      timingFunction: 'ease'
    });
    
    this.setData({ cardAnimation: animation });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  // 切换照片
  handlePhotoChange(e) {
    this.setData({
      currentPhotoIndex: e.detail.current
    });
  },

  // 收藏/取消收藏
  async handleLike() {
    try {
      const animation = this.data.cardAnimation;
      animation.scale(1.2).step().scale(1).step();
      
      const result = await matchApi.toggleLike({
        matchId: this.data.matchInfo.matchId,
        action: this.data.isLiked ? 0 : 1
      });

      this.setData({
        isLiked: !this.data.isLiked,
        cardAnimation: animation.export()
      });

      wx.showToast({
        title: this.data.isLiked ? '已收藏' : '已取消收藏',
        icon: 'success'
      });
    } catch (err) {
      wx.showToast({
        title: err.message || '操作失败，请重试',
        icon: 'none'
      });
    }
  },

  // 显示联系方式
  handleShowContact() {
    this.setData({
      showContact: true
    });
  },

  // 关闭联系方式弹窗
  handleCloseContact() {
    this.setData({
      showContact: false
    });
  },

  // 返回上一页
  handleBack() {
    wx.navigateBack();
  },

  // 检查收藏状态
  async checkLikeStatus() {
    try {
      const { list } = await matchApi.getLikes({
        page: 1,
        pageSize: 10
      });
      
      // 确保list是数组
      if (Array.isArray(list)) {
        this.setData({
          isLiked: list.some(item => item.matchId === this.data.matchInfo.matchId)
        });
        console.log('收藏状态：', this.data.isLiked);
      } else {
        console.error('获取收藏列表格式错误：', list);
        this.setData({ isLiked: false });
      }
    } catch (err) {
      console.error('获取收藏状态失败', err);
      this.setData({ isLiked: false });
    }
  }
})